Linux LVM使用
LVM是 Logical Volume Manager(逻辑卷管理)的简写, 用来解决磁盘分区大小动态分配。LVM不是软RAID(Redundant Array of Independent Disks)。
从一块硬盘到能使用LV文件系统的步骤:
硬盘—-分区(fdisk)—-PV(pvcreate)—-VG(vgcreate)—-LV(lvcreate)—-格式化(mkfs.ext4 LV为ext文件系统)—-挂载
LVM磁盘管理方式
lvreduce 缩小LV
先卸载—>然后减小逻辑边界—->最后减小物理边界—>在检测文件系统 ==谨慎用==
1 | [aliyun@uos15 15:07 /dev/disk/by-label] |
LVM 创建、扩容
1 | sudo vgcreate vg1 /dev/nvme0n1 /dev/nvme1n1 //两块物理磁盘上创建vg1 |
创建LVM
1 | function create_polarx_lvm_V62(){ |
-I 64K 值条带粒度,默认64K,mysql pagesize 16K,所以最好16K
复杂版创建LVM
1 | function disk_part(){ |
LVM性能还没有做到多盘并行,也就是性能和单盘差不多,盘数多读写性能也一样
安装LVM
1 | sudo yum install lvm2 -y |
dmsetup查看LVM
管理工具dmsetup是 Device mapper in the kernel 中的一个
1 | dmsetup ls |
reboot 失败
在麒麟下OS reboot的时候可能因为mount: /polarx: 找不到 LABEL=/polarx.
导致OS无法启动,可以进入紧急模式,然后注释掉 /etc/fstab 中的polarx 行,再reboot
这是因为LVM的label、uuid丢失了,导致挂载失败。
查看设备的label
1 | sudo lsblk -o name,mountpoint,label,size,uuid or lsblk -f |
修复:
紧急模式下修改 /etc/fstab 去掉有问题的挂载; 修改标签
1 | #blkid //查询uuid、label |
比如,下图右边的是启动失败的
软RAID
mdadm(multiple devices admin)是一个非常有用的管理软raid的工具,可以用它来创建、管理、监控raid设备,当用mdadm来创建磁盘阵列时,可以使用整块独立的磁盘(如/dev/sdb,/dev/sdc),也可以使用特定的分区(/dev/sdb1,/dev/sdc1)
mdadm使用手册
mdadm –create device –level=Y –raid-devices=Z devices
-C | –create /dev/mdn
-l | –level 0|1|4|5
-n | –raid-devices device [..]
-x | –spare-devices device [..]
创建 -l 0表示raid0, -l 10表示raid10
1 | mdadm -C /dev/md0 -a yes -l 0 -n2 /dev/nvme{6,7}n1 //raid0 |
删除
1 | umount /md0 |
监控raid
1 | #cat /proc/mdstat |
控制刷盘速度
1 | #sysctl -a |grep raid |
nvme-cli
1 | nvme id-ns /dev/nvme1n1 -H |
raid硬件卡
参考资料
https://www.tecmint.com/manage-and-create-lvm-parition-using-vgcreate-lvcreate-and-lvextend/
pvcreate error : Can’t open /dev/sdx exclusively. Mounted filesystem?
软RAID配置方法参考这里